1. The Field of the Invention
The present invention relates to computing technology; and more specifically, to mechanisms for transferring raw data from one data structure to another data structure representing the same item.
2. Background and Related Art
Computing technology has transformed the way we work and play. Computing systems now take a wide variety of forms including desktop computers, laptop computers, tablet PCs, Personal Digital Assistants (PDAs), household devices and the like. The functionality of the computing system is directed by software. Software is a sequence of computer-executable instructions that, when executed, causes the computing system to perform the functionality.
Object-oriented programming has developed as a mechanism to organize the authoring of software using logical units called objects that interact with one another. An object comprises one or more data fields that are representative of properties of the object, and zero or more methods (or pointers to methods) that include computer-executable code that relate to behavior of the object. Objects may interact by calling a method that is exposed by another object. Such objects may also be referred to herein as “data objects” or “data structures”.
When in-memory, the data structure is a collection of associated data fields and methods. However, it is often necessary to transfer the raw data from the data structure into another data structure representing the same item. This can be problematic if there is raw data for data fields in the source data structure that are not present in the target data structure, or if there is raw data for data fields in the target data structure that are not provided in the source data structure. In that case, the transfer would typically fail.
What would be advantageous are mechanisms for transferring raw data from one data structure to another even if not all of the fields that would ideally be transferred were included in both data structures.